# 为了保证数据规模与集中训练一直，保证client_number*data_counts=60000 
dataset_params={
    # 训练客户端数量
    "client_number":20,

    # 客户端数据规模，暂时弃用需要这个的两个函数。还是得互斥划分才有说服力。
    "data_counts":3000,
    # 单个客户端类别舒朗
    "class_counts":2,
    # beta狄利克雷分布划分的方法。包括数量不平衡和标签分布不均衡
    "beta":0.4,
    # bias_level控制数据集偏差的范围。
    "bias_level":0.1
}

server_params = {
    # 迭代的轮次
    "rounds":1000,
    # 客户端参与度。表示每轮有多少个客户端参与到训练当中
    "ratio":1.0,
    # 也就是进行梯度下降的次数。会覆盖batch_size。重新计算batchsize
    "update_steps":10,
    # 本地的梯度下降步长
    "inner_lr":0.01,
    # 服务器的梯度下降步长
    "outer_lr":0.8,
}

client_params = {

    # 迭代轮次
    "epochs" :1,
    # batchsize 被update_steps代替了
    "batch_size":128,
    # 本地梯度下降的步长
    "inner_lr":0.01,
    # 服务器梯度下降的步长
    "outer_lr":0.8,
    # 本地更新的次数，会覆盖batch_size。batch_size=len(dataset)/update_steps
    "update_steps": 10,
}
